1. Field of the Invention
The present invention generally relates to techniques for testing computer systems. More specifically, the present invention relates to techniques for synthesizing dynamic workloads to test power utilization in computer systems.
2. Related Art
Large organizations often maintain datacenters containing dozens or even hundreds of servers that provide various computational services. As these servers become increasingly more powerful, they consume more power, which can greatly increase electricity costs. In fact, as power consumption continues to increase, electricity costs are likely to exceed both capital costs and operating costs to become the largest component of the total cost of ownership (TCO) of a data center.
Hence, the total wattage, and the integrated wattage needed to complete a given computational workload are becoming key factors in determining what servers to purchase. To this end, customers are beginning to ask for more information than is conveyed by total face-plate wattage for servers or blades. These customers are knowledgeable enough to realize that the power they will use depends upon their own dynamic workloads. The power used by these dynamic workloads could be significantly different than the power used by a benchmark that a vendor uses to determine power consumption. Consequently, customers are interested in knowing how much power is required to run their exact workload on different server products.
Responding to such queries from customers is not easy. To accurately determine how much power is used to execute a customer's workload on a server, it is typically necessary to duplicate the customer's workload on the server. However, duplicating a customer's exact workload on one or more servers in a laboratory is most often not possible. First, there are security concerns that would prevent most business customers from allowing a vendor to port financial, health-care, or business-proprietary databases to a vendor's lab. Secondly, it is a huge undertaking to duplicate a customer's software systems (e.g., database, enterprise computing software, or nuclear simulation) on a vendor's machines in a laboratory for purposes of assessing energy utilization.
Hence, what is needed is a method and an apparatus for determining how much power is used by a server while executing a workload-of-interest without the problems described above.